package com.ruoyi.crm.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 项目立项对象 project
 *
 * @author ruoyi
 * @date 2021-08-30
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Project extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private String id;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginDate;

    /** 预计完成日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计完成日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishDate;

    /** 项目负责人 */
    @Excel(name = "项目负责人")
    private String follower;

    /** 计划工时 */
    @Excel(name = "计划工时")
    private Long planHours;

    /** 已用工时 */
    @Excel(name = "已用工时")
    private Long usedHours;
    private Long projectNo;
    private Long oppoName;
    private Long sourceForm;
    private Long type;
    private Long projectBudget;
    private Long comSchedule;
    private Long priority;
    private Long acComDate;
    private Long cosBudget;
    private Long usedExpenses;
    private Long projectInfo;
    private Long markInfo;
    private Long enclosureInfo;
    private Long comment;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setCustomerName(String customerName)
    {
        this.customerName = customerName;
    }

    public String getCustomerName()
    {
        return customerName;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setBeginDate(Date beginDate)
    {
        this.beginDate = beginDate;
    }

    public Date getBeginDate()
    {
        return beginDate;
    }
    public void setFinishDate(Date finishDate)
    {
        this.finishDate = finishDate;
    }

    public Date getFinishDate()
    {
        return finishDate;
    }
    public void setFollower(String follower)
    {
        this.follower = follower;
    }

    public String getFollower()
    {
        return follower;
    }
    public void setPlanHours(Long planHours)
    {
        this.planHours = planHours;
    }

    public Long getPlanHours()
    {
        return planHours;
    }
    public void setUsedHours(Long usedHours)
    {
        this.usedHours = usedHours;
    }

    public Long getUsedHours()
    {
        return usedHours;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("projectName", getProjectName())
                .append("customerName", getCustomerName())
                .append("status", getStatus())
                .append("beginDate", getBeginDate())
                .append("finishDate", getFinishDate())
                .append("follower", getFollower())
                .append("planHours", getPlanHours())
                .append("usedHours", getUsedHours())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}